package com.algorithm.recursive;

/**
 * 跳台阶
 * 题目：一只青蛙一次可以跳上1级台阶，也可以跳上2级。求该青蛙跳上一个n级的台阶总共有多少种跳法（先后次序不同算不同的结果）。
 * 分析思路：假设有n阶台阶，跳上n阶的方法只能从n-1或者n-2的台阶跳上来
 *所以n阶台阶的跳法就等于n-1阶的跳法加上n-2阶的跳法。计算公式为F(n) = F(n-1) + F(n-2)
 * 很显然这个公式是一个斐波那契数列的表达式。
 * 根据实际情况可得知 f(1) = 1 ,f(2) = 2，f(3)=f(1)+f(2)
 */
public class JumpFloor {
    public static void main(String[] args) {
        System.out.println(Solution(3));
    }

    public static int Solution(int target) {
        if (target<=2){
            return target;
        }
        return Solution(target-1)+Solution(target-2);
    }
}
